Naming software is hard. I lived in Ontario when I first started the project and Trillium (the flower) is sort of a provincial logo, many institutions in Ontario are named "Trillium [something]". So I kept hearing/reading it almost everyday, I liked the sound of it and its nature motif, so I just reused it.
– Zadam (original Trilium maintainer)
Trilium has no separate folder type: any note can have child notes, so any note can act as a folder. A note can hold its own content and have children at the same time, unlike a file system, which separates files from directories.
To organize notes into a folder:
The children of a note are listed at the end of its content (see Note List).
If you want the note to look like a folder, with no content of its own and only its children shown, make it a collection instead: right-click in the tree, select Insert child note → Collection, then choose Grid View or List View. See Collections for the other views, such as tables, boards and calendars.
Originally, Trilium Notes considered the macOS build unsupported. TriliumNext commits to make the experience on macOS as good as possible.
if you find any platform-specific issues, feel free to report them.
The original Trilium Notes application did not support multiple languages. Since we believe that internationalisation is a core part of an application, we have added support for it.
Contributions to translations are welcome.
Common request is to allow multiple users collaborate, share notes etc. So far I'm resisting this because of these reasons:
This is normally not supported - one Trilium process can open only a single
instance of a database. However,
you can run two Trilium processes (from one installation), each connected
to a separate document. To achieve this, you need to set a location for
the data directory in the TRILIUM_DATA_DIR environment
variable and separate port on TRILIUM_PORT environment variable.
How to do that depends on the platform, in Unix-based systems you can achieve
that by running command such as this:
TRILIUM_DATA_DIR=/home/me/path/to/data/dir TRILIUM_PORT=12345 trilium
You can save this command into a .sh script file or make an
alias. Do this similarly for a second instance with different data directory
and port.
No.
These general purpose sync apps are not suitable to sync database files which are open and being worked on by another application. The result is that they will corrupt the database file, resulting in data loss and this message in the Trilium logs:
SqliteError: database disk image is malformed
The only supported way to sync Trilium's data across the network is to use a sync/web server.
Trilium stores notes in a database which is an SQLite database. People often ask why doesn't Trilium rather use flat files for note storage - it's fair question since flat files are easily interoperable, work with SCM/git etc.
Short answer is that file systems are simply not powerful enough for what we want to achieve with Trilium. Using filesystem would mean fewer features with probably more problems.
More detailed answer:
Trilium uses a progressive search strategy that includes fuzzy matching
when exact matches return fewer than 5 results. This finds notes despite
minor typos in your search query. You can use fuzzy search operators (~= for
fuzzy exact match and ~* for fuzzy contains). See the Search documentation
for details.
Use the fuzzy search operators:
#title ~= "projct" - finds notes with titles like "project"
despite the typonote.content ~* "algoritm" - finds content containing "algorithm"
or similar wordsTrilium places exact matches before fuzzy matches. When you search for "project", notes containing exactly "project" appear before notes with variations like "projects" or "projection", regardless of other scoring factors.